home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Chess / Fly_Chess.jar / Style12Parser.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-08-23  |  2.7 KB  |  152 lines

  1. public class Style12Parser {
  2.    private int ctm;
  3.    private String whitename;
  4.    private String blackname;
  5.    private String previousmoveverbose;
  6.    private String previousmovepretty;
  7.    private String timepreviousmove;
  8.    private String boardstr;
  9.    private int orientation = 0;
  10.    private char[] boardarray = new char[90];
  11.  
  12.    private int calcIndex(int var1) {
  13.       if (this.orientation == 0) {
  14.          return var1;
  15.       } else {
  16.          int var2 = (9 - var1 / 10) * 10;
  17.          var2 += 9 - var1 % 10;
  18.          return var2;
  19.       }
  20.    }
  21.  
  22.    public String getBlackName() {
  23.       return this.blackname;
  24.    }
  25.  
  26.    public int getBoardOrientation() {
  27.       return this.orientation;
  28.    }
  29.  
  30.    public int getColorPos(int var1) {
  31.       return Character.isUpperCase(this.boardarray[this.calcIndex(var1)]) ? 1 : 0;
  32.    }
  33.  
  34.    public int getColorToMove() {
  35.       return this.ctm;
  36.    }
  37.  
  38.    public int getPiecePos(int var1) {
  39.       switch ((byte)Character.toUpperCase(this.boardarray[this.calcIndex(var1)])) {
  40.          case 66:
  41.             return 4;
  42.          case 67:
  43.          case 68:
  44.          case 69:
  45.          case 70:
  46.          case 71:
  47.          case 72:
  48.          case 73:
  49.          case 74:
  50.          case 76:
  51.          case 77:
  52.          case 79:
  53.          default:
  54.             return 0;
  55.          case 75:
  56.             return 6;
  57.          case 78:
  58.             return 3;
  59.          case 80:
  60.             return 1;
  61.          case 81:
  62.             return 5;
  63.          case 82:
  64.             return 2;
  65.       }
  66.    }
  67.  
  68.    public String getPreviousMovePretty() {
  69.       return this.previousmovepretty;
  70.    }
  71.  
  72.    public String getPreviousMoveVerbose() {
  73.       return this.previousmoveverbose;
  74.    }
  75.  
  76.    public String getTimePreviousMove() {
  77.       return this.timepreviousmove;
  78.    }
  79.  
  80.    public String getWhiteName() {
  81.       return this.whitename;
  82.    }
  83.  
  84.    public boolean parseStyle12(String var1) {
  85.       try {
  86.          String var2 = var1.substring(var1.indexOf(60));
  87.          StringTokenizer var3 = new StringTokenizer(var2);
  88.  
  89.          for(String var4 = (String)var3.nextElement(); !var4.equals("<12>"); var4 = (String)var3.nextElement()) {
  90.          }
  91.  
  92.          String var9 = "";
  93.  
  94.          for(int var5 = 0; var5 < 8; ++var5) {
  95.             var9 = var9 + (String)var3.nextElement() + " ";
  96.          }
  97.  
  98.          this.readBoardString(var9);
  99.          var9 = (String)var3.nextElement();
  100.          if (var9.equals("B")) {
  101.             this.ctm = 0;
  102.          }
  103.  
  104.          if (var9.equals("W")) {
  105.             this.ctm = 1;
  106.          }
  107.  
  108.          for(int var6 = 0; var6 < 7; ++var6) {
  109.             var3.nextElement();
  110.          }
  111.  
  112.          this.whitename = (String)var3.nextElement();
  113.          this.blackname = (String)var3.nextElement();
  114.  
  115.          for(int var7 = 0; var7 < 8; ++var7) {
  116.             var3.nextElement();
  117.          }
  118.  
  119.          this.previousmoveverbose = (String)var3.nextElement();
  120.          this.timepreviousmove = (String)var3.nextElement();
  121.          this.previousmovepretty = (String)var3.nextElement();
  122.          var9 = (String)var3.nextElement();
  123.          if (var9.equals("0")) {
  124.             this.orientation = 0;
  125.          }
  126.  
  127.          if (var9.equals("1")) {
  128.             this.orientation = 1;
  129.          }
  130.  
  131.          return true;
  132.       } catch (Exception var8) {
  133.          return false;
  134.       }
  135.    }
  136.  
  137.    private void readBoardString(String var1) {
  138.       int var2 = 0;
  139.  
  140.       for(int var3 = 8; var3 > 0; --var3) {
  141.          for(int var4 = 1; var4 < 10; ++var4) {
  142.             if (var4 % 9 != 0) {
  143.                this.boardarray[var4 * 10 + var3] = var1.charAt(var2);
  144.             }
  145.  
  146.             ++var2;
  147.          }
  148.       }
  149.  
  150.    }
  151. }
  152.